import axios from "axios";
import aes from "@/utils/aes";

const service = axios.create({
  baseURL: "/api",
  timeout: 10000,
});

// 请求拦截器
service.interceptors.request.use(
  (config) => {
    config.headers['token'] = "xiaoyu";
    config.headers['Content-Type']="application/json"
    if (config.method==="get"){
      return config;//通过，返回响应的拦截
    }
    config.data=aes.encrypt(JSON.stringify(config.data))
    return config;//通过，返回响应的拦截
  },
  (err) => {
    return Promise.reject(err); //返回错误
  }
);

// 响应拦截器
service.interceptors.response.use(
  (response) => {
    response.data = aes.decrypt(response.data)
    if(response.status === 200){//判断一下后端返回的数据中的状态码是不是200，如果是200，就执行下面的return
      return Promise.resolve(response);
    }else {//如果返回的状态码不是200，就返回错误的信息，同时也可以在这里定义其他的状态码，然后加上去
      return Promise.resolve(response);
    }
  },
  (err) => {
    return Promise.reject(err); //返回错误
  }
);

export default service;
